﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Com.Toook.AutoDownloadHtml.DownloadHtml.ParseObj
{
    /// <summary>
    /// Elements的解析类型
    /// </summary>
    public enum ByType   
    {
        /// <summary>
        /// 根据ID获取元素
        /// </summary>
        Id,
        /// <summary>
        /// 根据css类名获取元素
        /// </summary>
        Class,  
        /// <summary>
        /// 根据html标签获取元素
        /// </summary>    
        Tag,            
        /// <summary>
        /// 元素/子元素 包含指定文本
        /// </summary>
        ContainText,    
        /// <summary>
        /// 元素自身 包含指定文本
        /// </summary>
        ContainOwnText, 
        /// <summary>
        /// 元素/子元素 匹配正则表达式指定的文本
        /// </summary>
        MatchText,    
        /// <summary>
        /// 元素/子元素 匹配正则表达式指定的文本
        /// </summary>
        MatchOwnText,   
        /// <summary>
        /// 根据属性名获取
        /// </summary>
        Attr,
        /// <summary>
        /// 根据属性名开始字符串获取
        /// </summary>  
        AttrStart,      
        /// <summary>
        /// 获取第n个元素
        /// </summary>
        IndexEquals,    
        /// <summary>
        /// 获取小于n的元素
        /// </summary>
        IndexLessThan,  
        /// <summary>
        /// 获取大于n的元素
        /// </summary>
        IndexGreaterThan,
        /// <summary>
        /// 根据(key,value)属性名，属性值获取元素
        /// </summary>
        AttrValue,
        /// <summary>
        /// 根据(key,value)属性名，属性值开始字符串获取元素
        /// </summary>
        AttrValueStart,
        /// <summary>
        /// 根据(key,value)属性名，属性值结束字符串获取元素
        /// </summary>
        AttrValueEnd,
        /// <summary>
        /// 根据(key,value)属性名，属性值包含的字符串获取元素
        /// </summary>
        AttrValueContain,
        /// <summary>
        /// 根据(key,value)属性名，属性值匹配的正则表达式获取元素
        /// </summary>
        AttrValueMatch,
        /// <summary>
        /// 详细页面地址中包含当前日期
        /// </summary>
        AttrValueContainDateNow,
////////////////MultiLeaf 获取结果文本、链接、图片等
        /// <summary>
        /// 从指定属性中获取结果
        /// </summary>
        ResultInAttr,
        /// <summary>
        /// 从Tag标签的Text()获取结果
        /// </summary>
        ResultInText,
        /// <summary>
        /// 截取元素element.Text()的 start,end字符串之间的文本
        /// </summary>
        ResultBetween,
        /// <summary>
        /// 从元素element.Text() 中删除start,end字符串之间的文本
        /// </summary>
        ResultRemoveBetween,
        /// <summary>
        /// 删除标签
        /// </summary>
        RemoveTag
    }
}
